perm filename ARPA.72C[DOC,TOB] blob sn#033558 filedate 1973-04-02 generic text, type T, neo UTF8
During the past several years our  vision  effort  has  shifted  from
simple scenes of polyhedra to complex objects in richer context.  Not
all problems with towers of polyhedra have been solved, but there are
a  host  of  reasons  for moving on.  Manipulation has also proceeded
from manipulation of blocks to assembly operations for  many  of  the
same  reasons.     Minsky and Papert [Minsky 1972] have described the
central  issues  and  the  intellectual  position  of   robotics   in
artificial intelligence. We refer to that discussion as background to
our motivation to direct research to real world scenes  and  objects.
An  important  motivation is to develop applications for manipulation
and visual feedback capabilities which have been developed here.  The
time  is  ready  for  the  first transfer of robotics technology from
laboratory  to  prototype  assembly  stations.  We  discuss  robotics
applications more fully in another section.

Another  major  motivation is to face new issues; systems have come a
few  steps  toward  heterarchical  systems  from  heirarchy;  from  a
succession  of homogeneous passes with compounding errors to a system
structure where high and low levels interact closely.  One aspect  of
such a system is the use of many functionally independent techniques;
this has meant including  experimentation  with  color  and  texture,
depth  information, motion parallax and image prediction.  The choice
of problems as paradigms is central to the way  in  which  perceptual
systems  evolve.      A  great deal can be done with simple scenes of
polyhedra using a single image  in  one  color,  ignoring  all  other
perceptual abilities.  Since most perceptual problems can be resolved
within  a  single  image,  one   approach   is   to   exhaust   those
possibilities.      Important  areas  are missed; for example, visual
feedback is clumsy without depth information.   For our plans, visual
feedback for manipulation is primary.

There  are  other  ways  in  which  the  tower  of blocks paradigm is
inadequate  for  our  purposes.      Low  level  feature  description
operators   are   tailored  for  this  case.    Adequate  region  and
edge-oriented descriptors must be evolved.     With  polyhedra,  only
simple  preliminary  grouping  mechanisms have been programmed.  More
intermediate level descriptors must be implemented.

Although real world scenes are much more  complicated,  they  may  be
simpler  to  perceive in that they have a much richer context.  There
is only very general knowledge available in the  usual  blocks  task;
usually  color,  size,  and  support are unspecified.  In an assembly
task, sizes are known, color is  used  to  code,  and  parts  fit  in
special  ways.     Often  recognition can be based on obvious special
features.  These tasks are good exercise in developing  goal-oriented
visual  systems.  Although development and utilization of intelligent
robots will progress gradually, the information sciences will  impact
industry  enormously  over  a shorter term. An immediate effect is to
streamline information flow in the manufacturing  process.     Simple
systems  can keep track of delayed effects of design decisions, lower
cost of preparation and  transmission,  and  increase  accessibility.
Computer    controlled    scheduling,    resource   allocation,   and
transportation routing are important to most of industrial production
[Anderson  1972].   We see a major contribution from techniques being
pioneered in artificial  intelligence  laboratories,  and  that  such
research  will  have  payoff  throughout  the  entire  development of
intelligent systems. Enormous efficiency  increases  will  come  from
analysis  of  assembly  and  inspection  in  terms of some "primitive
operations".   In the past, computer cost and lack of  sophistication
has  limited  the  ability  for  such  analysis, and the slow pace of
automation has not pressed  hard  for  analysis.    Now  it  will  be
possible   to   find   common  fabrication  and  assembly  operations
throughout a large company, to discover  commonality  in  design  and
components.  The success of that analysis depends upon representation
of fabrication operations and shape.   Representation  is  a  current
concern  in  robotics  labs  and  may  have  early applications. This
orientation to the manufacturing system is already beginning to  have
effect  with  the  "group  technology"  approach,  which  attempts to
describe parts and operations, and group them together in one part of
the   factory.     Until  the  establishment  of  such  analysis  and
commonality  of  operations,  automating  will  be  made  much   more
difficult.

Considerations are similar for programming automation devices such as
the assembly station we describe.  Even if programming is  difficult,
there  will  be  considerable  applications  for  dexterous  assembly
systems. For example, for the military, it is preferable to stockpile
programs than to stockpile parts or systems for contingency. In batch
production, tapes can be saved to cut stockpiling.   But  to  achieve
full  effect  on  industry, robot systems must be easy to program for
new tasks.  Our current work is concerned  with  strategy  generation
and  automating  visual  feedback.    Time-sharing  systems  will  be
necessary  to  perform  scheduling,  resource   allocation,   routing
operations,  etc.   Thus there is a natural division of labor between
the time-sharing system and small machines. The strategy  generation,
automating   feedback,  and  interactive  system  for  computer-aided
mechanical design expect to reside in the central system.

A major part of our effort is directed toward the  representation  of
complex  shapes,  for  use  in vision and strategies.  While it might
seem that this effort has only distant applications, for the  reasons
discussed   above,   early   applications   will  be  for  convenient
man/machine   interaction   for   programming    robots    and    for
systematization.   We can expect that in general, much of the work in
symbolic representation of the real world  will  have  early  payoff.
Present  non-intelligent  robots  are programmed by specifying points
along a path  to  be  repeated.    With  computer  control,  optional
trajectories  can  be  executed in case of contingency.  The engineer
must then specify what normal function is, how to monitor it, and how
to  recognize recoverable situations.   To do so, he can specify this
symbolically in interaction with a  program  in  which  he  specifies
normal  and abnormal conditions, shape of parts (usually some variant
of standard parts), the mating of parts for assembly,  and  schematic
descriptions   of  operations  for  insertion  and  inspection.   The
significance of representations in general is to aid these processes.
Our representation provides a natural way of speaking about the shape
of objects, in terms of a structured description of  part/whole  with
primitives  which  resemble many fabrication operations.   The better
the representation, the more it provides intuition for programs as to
the intent of operations and the function of parts.

A  representation  aids communication in both directions.  We contend
that our representation is important for  computer  graphics.    This
allows  display  of  the  machine's  concepts to the user, and allows
greater use of predictive mechanisms based on internal models.  Input
could  be made visually with a depth measuring system such as we have
been using for the last two years.  Since the operation would be done
on  a central facility, the computer would be adequate for this task.
We expect that the representation will  be  of  considerable  use  in
monocular  vision  also.   We hope to substantiate these predictions.
Another application is  automating  design  of  numerically  machined
parts.    That  will be simplified to the extent that the machine and
the user speak the same language of subparts and their  descriptions.
Benefits  would  come  from  ease  of  programming  and  interaction,
variable  tolerances  for  critical  parts  and   better   monitoring
operations.

	THE PILOT ASSEMBLY STATION

We  seek  other  funds  to  partially support application of robotics
techniques to industrial assembly and inspection.   We will implement
over  the  next  few years a prototype assembly station and a support
system for programming the assembly station for its tasks.

The assembly station is assumed to be normally connected to  a  large
time-shared computer facility. Not only does this appear to be a good
design for our problem, but it is also necessary  for  an  integrated
programmed automation facility.  The only emphasized statement in the
ARPA study report [Anderson  1972]  is:     "The  maximum  impact  of
computers   in  manufacturing  will  come  from  complete,  real-time
computer cognizance and  control  of  all  processes  and  resources,
allowing the precise scheduling and allocation of these resources."

Each  assembly  station will consist of a small digital computer, one
or more manipulators and cameras. Manipulators and  cameras  will  be
combined  as  modules  in  systems  to suit a given task, and will be
digitally controlled by the station computer.

The program in the station computer will be flexible as to the number
and  position of manipulators and cameras. It will control input from
the cameras, provide for some pre-processing of the picture  and  the
application  of  simple  tests to the visual data.     In the case of
manipulators it will provide for simultaneous servo control. It  will
also  process  other  inputs,  such  as  from  touch  sensors  on the
manipulators, from photocell interrupt devices, limit switches,  etc.
Both  analog  and binary outputs will be available for the control of
other devices.

Each station computer will have access to a task  program  specifying
the actions and tests it should perform to carry out its task.   This
task program will be compiled by the central computer.    Compilation
will  consist of the analysis of predicted scenes in order to specify
simple tests that the station computer can carry out, the calculation
of  collision free trajectories for the manipulators, the sequence of
operations and simple contingency plans. etc.  We  are  planning  for
tasks   whose  normal  execution  does  not  require  detailed  scene
analysis.  If scene analysis becomes necessary (e.g. a dropped  part)
we  envision the station sending an image to the central computer for
processing.

The central computer will perform overall control of  the  individual
assembly  stations  and the relative rates of production.   If at any
station a planned test fails, for which a contingency plan  does  not
exist,  or  any  unexpected  sensor signals are received, the central
computer will also be interrupted and appropriate actions taken.

Most of the hardware required  for  the  assembly  station  has  been
developed  for  the  laboratory.    Manipulators  and cameras will be
discussed in detail below. The major additional problem is to  refine
the   existing   designs   to  meet  the  demands  of  an  industrial
environment.

The most difficult part of the assembly station, and the heart of the
of the proposal is a demonstration of the feasibility of the station.
We plan to do this by developing programs which actually assemble and
inspect a variety of fairly complex manufactured items.

A  typical  example is our current project, assembly of an automobile
water pump. The major  parts  are  to  be  located,  the  screws  are
supplied by a feeder, as is standard.  Locating the body and cover of
the pump require a gross localization, then a  fine  localization  of
screw  holes.      Touch  provides  a  final accuracy and independent
coordination of the hand.   The  placing  of  alignment  pins  within
screw  holes  could  be monitored visually; although in this case,the
previous actions provide adequate accuracy.   Placing  of  the  cover
over  alignment  pins  can  be  carried out without vision.  Improved
force  sensing  now  under  development  will  be  useful  for   that
operation.

As  we move to more difficult tasks, the sophistication required goes
up quite rapidly.  The  current  manipulation  routines  seem  to  be
expandable  to cover anticipated problems, especially since we intend
to employ special purpose manipulators (tools) for some tasks.    The
main part of our effort will be vision for assembly; an assembly task
will be performed using vision, touch, and two hands.     The  vision
effort  will  be  integrated with other abilities, and while no great
generality will be stressed, new modules will  be  incorporated  into
the  system,  and a set of techniques will evolve.  These will depend
heavily on techniques similar to  those  of  our  recent  studies  in
visual  feedback  and hand/eye coordination [Gill 1972]. The internal
model of the world will be  used  to  predict  visual  appearance  of
selected  areas  of  the  scene, and a set of verification procedures
will confirm or contradict the predictions.  Many of  the  operations
will  be  connected  with  supplying  feedback  to  manipulation, for
alignment and insertion. These visual procedures will have models for
the parts and approximate locations.




This and other visual tasks connected with assembly will initially be
performed as special case problems.    In  addition,  to  make  these
techniques   available,   we  will  pursue  development  of  strategy
programs.  This step is essential if intelligent assembly devices are
to  be conveniently programmed for complex tasks. Within the division
of labor between large and small machines, this facility must  reside
in  the  central  time-sharing  facility which has large memory, file
storage, and problem-solving languages. The system must have a  model
of  the  parts  for  assembly,and  a  sequence  of  instructions  for
assembly. It will be necessary to have a representation of shape  and
models for usual assembly operations such as insertion and alignment,
and the ability to solve simple problems  in  connection  with  these
operations,  all  this  to  enable  convenient communication with the
user. When these facilities exist, the addition of new  features  and
operations  can be incorporated smoothly, so that users can call on a
growing library of planning modules.  The result of a planning effort
is  a  cycle  of  machine  planning and man-machine interaction which
results in a plan  network  for  the  mini  computer  which  controls
individual machines.

	RESEARCH IN VISION

Our  past work on visual feedback [Gill 1972] in stacking objects and
inserting objects  in  holes  is  directly  relevant  to  vision  for
assembly.   The  system provides feedback for picking up, then at the
final position, with the hand still holding the block  and  in  view,
predicts  the  appearance  of edges and corners within a small window
around the faces to be aligned, and  uses  a  corner/edge  finder  to
determine  alignment  error. Incremental motion capability of the arm
is  used  for  error  correction.          That   work   incorporates
self-calibration  to  coordinate  hand and eye coordinate systems and
maintain reliability (by maintaining  calibration),  as  well  as  to
limit   search   by  accurately  predicting  expected  features.  Two
well-developed systems exist to aid future work in  visual  feedback.
GEOMED  [Baumgart 1972a] is a geometric editor which allows the input
of  geometric  models  and  manipulation  of  these  models.   OCCULT
[Baumgart  1972b]  is a hidden line elimination program which gives a
symbolic output, valuable for vision, in a few seconds.

We have a set of visual  operations  which  provide  confirmation  of
predictions  and  direct  interaction  with the visual image.     For
outdoor scenes, color is an important basis for region  forming,  and
for  preliminary scene organization. Several preliminary color region
analysis programs have been developed [Binford,  unpublished,  Bajcsy
1972].    These will be extended as described below. An edge operator
[Hueckel 1969,1972] and a region-based corner/edge finder [Gill 1972]
both  operate  on small windows of the scene, as directed by a higher
level.     An edge verifier  is  used  to  confirm  or  reject  edges
predicted  from  context [Tenenbaum 1970].   Color identification has
long been demonstrated.   Recently, a program  has  been  implemented
based  on  Land's Retinex model of color constancy in vision.    This
involves taking intensity measurements with the camera  through  red,
green,  and  blue filter, and setting up a calibration scheme for the
Goethe color triangle in the absence of any external  color  standard
(white).   This is achieved by normalizing the intensities of regions
within the scene through each filter, and defining a  color  triangle
derived  from  this  ordering  data,  with the center of the triangle
designated as white. The regions may then be assigne color  names  in
the  normal  way.   The program as it stands can cope reasonably well
with table top scenes under varied lighting  conditions  -  sunlight,
quartz-halogen  and flourescent, and therefore shows the same kind of
color constancy as do humans.

We have directed part of our work  to  analysis  of  outdoor  scenes.
Outdoor  scenes were analyzed with a combination of color and texture
region analysis  [Bajcsy  1972];  depth  cues  were  taken  from  the
gradient of texture.  A symbolic representation of texture and of the
world were adopted; descriptors of texture elements were obtained  as
analytic  expressions  from  the  Fourier  spectrum.   A considerable
improvement could be made by combining these techniques with  several
techniques which obtain depth information from correlation of images.
Motion parallax [Nevatia draft] has been used with  a  succession  of
images.   The  successive  images  differ little from one another and
allow local  correlation  without  ambiguity.     In  a  sense,  this
combines the advantages of narrow and wide angle stereo, since stereo
ambiguity is avoided, while large baselines  can  be  accumulated  by
tracking  regions  over  several  images. Another system incorporates
several facilities in wide angle stereo [Quam 1972]; local statistics
are  used  to  limit  search for correspondence of small areas in two
images.    An interesting feature is  self-orientation:    given  two
cameras whose orientation is unknow, the system uses guided search to
establish  a  few  correspondences,  then  determines  the   relative
orientation   of   the   two   cameras.   Such  self-orientation  and
self-calibration  facilities  have  considerable   significance   for
industrial  systems  which can be maintained calibrated.    These are
complementary depth sensing techniques; motion parallax can  be  used
for  planning  paths and characterizing large scale terrain features.
Two camera stereo can be used for  local  manipulation  and  disaster
avoidance.   Visual  feedback  with stereo vision is potentially more
powerful than without.    We have a program  which  has  demonstrated
stereo visual feedback [Binford, unpublished].

A  thesis  by  Agin  [Agin  1972]  showed  considerable  progress  in
representation and description of complex objects.  He implemented  a
laser  ranging  device [Binford 1970] which was operational two years
ago.    Using depth data and a representation of shape [Binford 1971]
which  we  have developed, we have been able to describe the parts of
objects  like  a  doll,  snake,  and  glove  [Agin  1972].        The
representation is based on segmenting objects into parts connected at
joints.    Parts  are  described  by  a  volume  representation  with
arbitrary  cross  section defined along a space curve.  The data were
analyzed by techniques suggested by the representation.   Preliminary
segmentation  was made into parts suggested by some primitives of the
representation, smoothly varying,  locally  cylindrical  parts.    An
iterative  procedure  defined  an  approximation  to  the axis of the
segment, fit  circular  cross  sections  normal  to  the  axis,  then
obtained  an  estimate  of  a global cross section function which was
then used to extend the axis and cross section as far as consistent.

A study of visual and depth ranging techniques has been  carried  out
which  provides  a background for choosing sensors and interface, and
making cost estimates [Binford 1972,Earnest 1967].    An  interesting
result  is  that  the  cost of a laser ranging system such as ours is
less than $1k given a tv system. We have maintained a calibrated hand
and  vision system for several years [Sobel 1970], and have developed
self-calibration  techniques  with  one  and  two  eyes   [Yakimovsky
unpublished, Hannah (in [Quam 1972]), Gill 1972].

A  system  for  understanding  scenes of blocks from single views has
been implemented [Falk 1970]; it segments  objects,  matches  against
internal  models,  predicts  appearance  from  its  assumptions,  and
searches for verification and contradiction based  on  the  predicted
image.    Support and spatial relations are also obtained.  There has
been past work on programs  to  obtain  line  drawings  as  input  to
recognition  systems.  An earlier system was based on limited context
of expecting continuation of edges at vertices and predicting missing
edges  in certain expected configurations [Grape 1970]. A more recent
approach has been to use models within the process of generating line
drawings,  so  that  the  most  reasonable next guess can be made and
context used intrinsically in the formation of line drawings.

VISUAL DEVELOPMENT FOR ASSEMBLY

In a later section, we describe assembly of a pump carried  out  with
the  manipulator  using  touch,  without vision.  We are implementing
vision programs to aid the assembly. In  the  pump  assembly,  visual
tasks  consist  of  gross  location  of  large  parts, then using the
information to predict location of images of holes, and monitoring of
insertion  into holes.   These tasks are typical of the simple visual
operations which we will implement or adapt  for  assembly.  We  will
greatly  expand our efforts with visual feedback.  At present, visual
feedback techniques are limited to polyhera.  We will  improve  image
prediction techniques to predict images of objects with curved edges.
We will develop  a  simple  region  analysis  program  which  assumes
adequate contrast to locate the curved edges predicted within a small
window.   Color will be used when necessary.      We  will  implement
two-dimensional  matching  of  boundary curves with predicted curves.
These  will  be  combined  with  our  existing  edge   operator   and
corner/line  operator.     We  will  maintain a calibrated system and
improve calibration updating so that reliability is maintained  at  a
high level.

VISION RESEARCH

We  will improve the laser hardware so that it can be used widely and
extend our work with representation of complex  objects  using  depth
data.     We  are able to make complete descriptions of objects which
consist of a single primitive segment, such as a torus, a snake or  a
cone.     The  programs can segment dolls, toy horses, in intuitively
natural ways [Agin 1972]. It is necessary to improve our segmentation
process  in  order to proceed to joining primitive segments at joints
and make complete descriptions of complex objects.     When  we  have
these  descriptions,  the computer will have symbolic internal models
of objects.   No recognition has yet been done, although we are in  a
position  to  recognize  those  objects which have only one primitive
segment, for which we can make complete descriptions. For recognition
of  more complex objects, once we have complete descriptions, we will
encode the basic properties of the  representation  within  a  visual
memory   scheme   which   allows   access   of  hypothesized  similar
three-dimensional shapes, with  associated  surface  information,  to
compare more closely with extensive verification.  We intend to apply
large parts of our programs for description and recognition of curved
objects  using  only  monocular intensity information. This is a much
harder problem, but within our representation,  shares  much  of  the
same  code,  and  relies  on  the  same  conceptual  basis  of  local
three-dimensional models.


We  will  continue  work  on  color region analysis which is based on
proximity rather than contiguity.  This  was  the  plan  outlined  in
previous proposals, and has shown necessary by our work with textured
scenes [Bajcsy 1972].   Another effort combines region analysis  with
a  decision  theoretic approach based on a world model. We anticipate
that these modules will aid the integrated system to function in more
complex  environments than have been attempted in the past.  There is
a growing  effort  on  navigation  of  vehicles  in  outdoor  scenes.
While this is not directly relevant to the industrial environment, it
does reflect the growing involvement in  complex  visual  tasks,  and
will lead to further development of an integrated visual system.

A  strategy  project  is  underway  dealing with the world of blocks.
The project begins from the idea that robot vision cannot be  studied
except  as a part of intelligent behavior in general.  Visual ability
is FOR something,  and  without  reasonable  expectations  about  the
world,  the  task of seeing is bound to be extremely difficult.    We
plan to implement a system which can  do  simple  manipulation  tasks
("pick  up  the  red  block",  "put  all the cubes in the box") in an
environment of plane-faced objects, and operating in a dialogue mode.
The  system  will have a good but imperfect world model all the time,
and the essence of its ability will be the constant use of this model
to  understand  situations  and  in particular to recover from errors
("Is that block no longer there because the arm  knocked  it  off?").
The  main  point  of  the  project is to find a good organization for
knowledge about the simple world in question:  we  expect  that  when
this  is  done  the  complex  subroutines  of current vision programs
(linefinders etc) will be found to be unnecessarily complex  in  that
they embody in an inefficient way at a low level, knowledge which our
system will contain at a higher level. In part, this will be done  by
expanding  the facilities available.  A stereo vision module is being
programmed, using line  drawings  and  integrating  stereo  with  the
segmentation and recognition processes.

We  are  at  work  on  a  program which exploits new features of SAIL
[Feldman  1972]  for  dealing   with   multi-process   tasks   in   a
problem-solving environment. The aim is to construct a driver program
to  accomplish  a  simple  assembly  task  under  somewhat  uncertain
conditions.  Making use of the new language features, one can arrange
for such a program to cope with errors in the execution  of  tasks  -
e.g. to recover from dropping things, breaking things, and further to
try several different but possibly cooperative methods for solving  a
problem.   It  is intended that this program will have its own vision
procedures  specially  adapted  for  finding  tools,  e.g.  wrenches,
screwdrivers, etc., and parts, e.g. nuts and bolts. An interpreter is
being developed to allow flexible description  of  the  task  by  the
user.

MANIPULATOR DEVELOPMENT

Manipulator   research  began  at  Stanford  Artificial  Intelligence
Laboratory  in  1965  with  the  acquisition  and  programming  of  a
prototype  Rancho Orthotic Arm.  A later version of this arm was used
in vision directed block stacking programs.

Our present arm, the result of a continuing design project,  replaced
the  Rancho Arm in 1970. This arm like its predecessor was controlled
by a digital servo program running under the time  sharing  computer.
The new arm was used in the "Instant Insanity" demonstration in 1971.
A second arm of the same type,  with  only  minor  modifications,  is
currently  being interfaced to the computer.   Both arms will share a
common work space and will  be  able  to  be  used  individually,  or
together for two handed tasks.

Manipulator  research  moves  ahead  simultaneously  on three fronts:
control, primitives and devices.      Tasks are  translated  into  an
existing  hand  language and where the task cannot be accomplished in
terms of existing primitives, new  primitives  are  formulated  in  a
consistent  manner.     When a new primative is formulated, real time
routines are developed to perform the action.  This  also  leads,  in
many  cases,  to  the  development of new hardware.       Also as new
developments occur in hardware design, existing  real  time  routines
are either re-written or modified.

Research is now concentrating on the following areas:

Strain gauge instrumentation of the wrist, in order to allow for more
sensitive interaction of the hand with a  task.     High  resolution,
high  sensitivity  touch sensors, to increase tactile recognition and
control abilities.     These developments will lead in  turn  to  new
control concepts.

Development  of  tools  for the hand. These tools can be instrumented
such that the computer can feel and or see at the end  of  the  tool.
This  should  be  a very important area of research as it goes beyond
present human capabilities.

Two handed arm control, the planning and execution of tasks requiring
the  coordinated  motion of both arms. This will require an extension
of the existing servo program and  the  analysis  of  synchronization
problems.   The  development of collision avoiders, so that arms will
not collide with other objects and with each other.

Modification of  the  existing  arm  design  to  provide  for  better
incremental motions, more degrees of freedom and a more rugged design
suitable for industrial use.   Development of arm  and  eye  computer
interfaces.     These  contain synchronized analog/digital converters
for input and current controlled drivers for output.

The development of new hands is expected as more  complex  tasks  are
attempted.    At present, with only one hand, we have been performing
the positioning type of hand  actions.     When  the  second  arm  is
operational we will be able to perform holding and pulling actions as
well.

	DEMONSTRATIONS OF MANIPULATION

Operations controlled by force have been demonstrated  by  turning  a
crank  and  screwing  a  nut  onto  a  bolt.  The  hand  language and
manipulation facilities are shown in the assembly of  a  small  pump.
The  positions of the parts are known approximately; they are located
on a pallet as expected in industrial practice.  By touch,  the  hand
locates  position  and  orientation of the pump body more accurately.
Aligning pins are inserted into the holes to guide the gasket and the
pump  cover.  Screws are obtained from a feeder, as is standard.  All
operations have  been  performed  in  the  assembly,  but  the  total
reliability  is  still  sufficiently  low  that  one error or another
occurs.  Vision has not been used in the assembly.

	SYSTEM REQUIREMENTS FOR ADVANCED AUTOMATION

A key element in the development of any large programming  effort  is
the  software  support.   There has been continual effort along these
lines at the Stanford Artificial  Intelligence  Laboratory  and  many
useful  ideas have been developed.  We propose to extend the research
along two separate lines:  support for research and  system  software
for  operating  automated systems.  We will briefly describe our past
efforts in this area and what we propose to undertake.

The Stanford Artificial  Intelligence  Laboratory  has  pioneered  in
several  areas  of  system  programming,  including  display-oriented
timesharing systems, interactive graphics, and programming languages.

A great deal of additional effort has gone  into  direct  support  of
hand-eye  research.     Very  early, we established a set of standard
formats and library routines [Pingle 72a].  A  programming  language,
SAIL, was implemented in 1968.  The language incorporates special

11  features  for  large real-world-oriented problem solving systems
and is currently in use at a number of  Artificial  Intelligence  and
other laboratories.

As  we began to assemble larger and more sophisticated collections of
programs, we felt a need  for  flexible  mechanisms  for  cooperating
sequential  processes.  The resulting monitor and language features [
Feldman & Sproull 1971]  have  worked  well  for  us  and  have  been
influential  on  other  projects.      Recently,  we  have  added  an
additional set of features  to  SAIL  [Feldman  1972]  to  facilitate
non-deterministic   and   event-directed  programming.     The  early
reactions to this work, both within the laboratory  and  without  has
been very encouraging.


A major share of the programming research effort will be concentrated
on developing a programming system for automated assembly.  This will
combine ideas  from  our  past  work  on  languages,  representation,
computer  graphics and arm control.  We view this task as a branch of
the larger effort on automatic programming being undertaken  in  this
laboratory aad elsewhere.









[Anderson 1972] R. Anderson,"Programmable Automation, The Future
of Computers in Manufacturing", Datamation, Dec 1972.

[Agin] G. Agin, "Description and Representation of  Curved  Objects",
Ph.D.  Thesis, Computer Science Dept., Stanford University, September
1972.

[Bajcsy 1972] "Computer Identification of Visual Texture" Computer Science
Department, Stanford University, (1972).

[Baumgart 1972a] B. Baumgart, "GEOMED - A Geometric Editor", May 1972.
SAILON-68,Artificial Intelligence Lab, Stanford University,

[Baumgart 1972b] Baumgart, Bruce G., WINGED EDGE POLYHEDRON REPRESENTATION, 
AIM 179,Artificial Intelligence Lab, Stanford University,October 1972.
          (forthcoming)

[Binford 1972]"Sensor Systems for  Manipulation",  Conference  on  Remotely  Manned
Systems, JPL, Pasadena, Calif, Sept 1972.

[Binford 1971] "Visual  Perception  by  Computer",  Invited  paper  at  IEEE Systems
Science and Cybernetics, Miami, Dec 1971.

[Binford 1970] T.O.Binford, "Ranging by Laser", Internal Report,
Artificial Intelligence Lab, Stanford University, Oct 1970.

[Earnest 1967] L.D.Earnest,"Choosing an eye for a Computer";
AI Memo 51, Artificial Intelligence Lab, Stanford University, 1967.

[Falk 1971] G. Falk, "Scene Analysis Based on Imperfect Edge Data", Proc. 2IJCAI,
Brit. Comp. Soc., Sept. 1971.

[Feldman 1972] with others,"Recent Developments in SAIL-An Algol Based Language for Artificial 
Intelligence", (with others).  CS 308, Stanford University, August 1972.
To appear in Proc. Fall Joint Computer Conference, 1972.

[Gill] Gill, Aharon, VISUAL FEEDBACK AND RELATED PROBLEMS IN COMPUTER
         CONTROLLED HAND EYE COORDINATION, AIM  178,October 1972.

[Grape 1969] "Computer Vision through Sequential Abstraction",
Artificial Intelligence Laboratory, Internal Report, 1969.

[Grape 1970] "On predicting and Verifying Missing Elements in Line-Drawings"
Artificial Intelligence Laboratory, Internal Report, March 1970.

[Hueckel] M.H. Hueckel, "An Operator Which Locates Edges in Digitized
Pictures",  Stanford  Artificial  Intelligence  Laboratory   AIM-105,
December 1969, JACM, Vol. 18, No. 1, January 1971.

[Minsky 1972] "Artificial Intelligence Progress Report", AI Memo 252,
MIT AI Lab, (1972);

[Paul]  R.   Paul,  "Trajectory  Control  of  a  Computer  Arm",  2nd
International Joint Conference on Artificial Intelligence, 1971.

[Paul] R. Paul, "Modelling, Trajectory Calculation and Servoing of  a
Computer  Controlled  Arm",  Ph.D.   Thesis,  Computer Science Dept.,
Stanford University, Sept. 1972.

[Pingle   1972a]   Karl   K.  Pingle,  "Hand/Eye  Library",  Stanford
Artificial Intelligence  Laboratory  Operating  Note  35.1,  January,
1972.

[Pingle  1972b] K.K. Pingle and J.M. Tenenbaum, "An Accomodating Edge
Follower", IJCAI-2. Proceedings of the 2nd.  International  Symposium
on Industrial Robots, May 1972, Chicago, Illinois.

[Quam 1972] L. H. Quam, S. Liebes, Jr., R. B. Tucker, M.  J.  Hannah,
B.  G.  Eross,  "Computer  Interactive  Picture Processing", Stanford
Artificial Intelligence Laboratory AIM-166, April 1972.

[Scheinman] V.  D.  Scheinman,  Design  of  a  Computer  Manipulator,
Stanford Artificial Intelligence Project, Memo AIM-92, June 1969.

[Sobel] Irwin Sobel, "Camera Models and Machine Perception", Stanford
Artificial Intelligence Project Memo AIM-121, May, 1970.

[Swinehart] D. Swinehart, R.  Sproull,  "SAIL",  Stanford  Artificial
Intelligence Laboratory Operating Note 57, November 1969.